.TH std::counted_iterator::operator= 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::counted_iterator::operator= \- std::counted_iterator::operator=

.SH Synopsis
   template< class I2 >

       requires std::assignable_from<I&, const I2&>                       \fI(since C++20)\fP

   constexpr counted_iterator& operator=( const counted_iterator<I2>&
   other );

   The underlying iterator and length are assigned with those of other.

.SH Parameters

   other - iterator adaptor to assign from

.SH Return value

   *this

.SH Example


// Run this code

 #include <algorithm>
 #include <cassert>
 #include <initializer_list>
 #include <iterator>

 int main()
 {
     auto a = {3, 1, 4, 1, 5, 9, 2};
     std::counted_iterator<std::initializer_list<int>::iterator> p(begin(a), size(a) - 2);
     std::counted_iterator<std::initializer_list<int>::iterator> q;
     assert(q.count() == 0);
     assert(q.count() != p.count());
     q = p;
     assert(q.count() == p.count());
     assert(std::ranges::equal(p, std::default_sentinel, q, std::default_sentinel));
 }

.SH See also

   constructor   constructs a new iterator adaptor
   (C++20)       \fI(public member function)\fP
